home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 48 / PC Gamer IT CD 48 2-2.iso / Starsiege / tribesdemo.exe / Disk1 / data1.cab / Tribes_Demo / base / scripts.vol / menu.cs < prev    next >
Encoding:
Text File  |  1999-09-14  |  1.9 KB  |  80 lines

  1. function Client::cancelMenu(%clientId)
  2. {
  3.    if(!%clientId.menuLock)
  4.    {
  5.       %clientId.selClient = "";
  6.       %clientId.menuMode = "";
  7.       %clientId.menuLock = "";
  8.       remoteEval(%clientId, "CancelMenu");
  9.       Client::setMenuScoreVis(%clientId, false);
  10.    }
  11. }
  12.  
  13. function Client::buildMenu(%clientId, %menuTitle, %menuCode, %cancellable)
  14. {
  15.    Client::setMenuScoreVis(%clientId, true);
  16.    %clientId.menuLock = !%cancellable;
  17.    %clientId.menuMode = %menuCode;
  18.    remoteEval(%clientId, "NewMenu", %menuTitle);
  19. }
  20.  
  21. function Client::addMenuItem(%clientId, %option, %code)
  22. {
  23.    remoteEval(%clientId, "AddMenuItem", %option, %code);
  24. }
  25.  
  26. function remoteCancelMenu(%server)
  27. {
  28.    if(%server != 2048)
  29.       return;
  30.    if(isObject(CurServerMenu))
  31.       deleteObject(CurServerMenu);
  32. }
  33.  
  34. function remoteNewMenu(%server, %title)
  35. {
  36.    if(%server != 2048)
  37.       return;
  38.  
  39.    if(isObject(CurServerMenu))
  40.       deleteObject(CurServerMenu);
  41.  
  42.    newObject(CurServerMenu, ChatMenu, %title);
  43.    setCMMode(PlayChatMenu, 0);
  44.    setCMMode(CurServerMenu, 1);
  45. }
  46.  
  47. function remoteAddMenuItem(%server, %title, %code)
  48. {
  49.    if(%server != 2048)
  50.       return;
  51.    addCMCommand(CurServerMenu, %title, clientMenuSelect, %code);
  52. }
  53.  
  54. function clientMenuSelect(%code)
  55. {
  56.    deleteObject(CurServerMenu);
  57.    remoteEval(2048, menuSelect, %code);
  58. }
  59.  
  60. function remoteMenuSelect(%clientId, %code)
  61. {
  62.    %mm = %clientId.menuMode;
  63.    if(%mm == "")
  64.       return;
  65.    if(String::findSubStr(%code, "\"") != -1 ||
  66.       String::findSubStr(%code, "\\") != -1)  // no quotes or escapes
  67.       return;
  68.  
  69.    %evalString = "processMenu" @ %mm @ "(" @ %clientId @ ", \"" @ %code @ "\");";
  70.    %clientId.menuMode = "";
  71.    %clientId.menuLock = "";
  72.    dbecho(2, "MENU: " @ %clientId @ "- " @ %evalString);
  73.    eval(%evalString);
  74.    if(%clientId.menuMode == "")
  75.    {
  76.       Client::setMenuScoreVis(%clientId, false);
  77.       %clientId.selClient = "";
  78.    }
  79. }
  80.